The present invention relates to a network server and, more particularly, to a network server which realizes a virtual LAN accommodating existing LAN (Local Area Network) terminals in an ATM (Asynchronous Transfer Mode) network regardless of the physical positions of the terminals.
In a conventional LAN, existing LAN terminals, which terminate LAN protocols such as CSMA/CD (Carrier Sense Multiple Access with Collision Detection) and token ring, and relay systems such as bridges and routers are coupled to each other in the form of a bus or ring through shared physical media, thereby constituting one LAN segment. In this case, a bridge is a relay system that couples different shared physical media to each other to constitute a single LAN segment, and a router is a relay system that couples different LAN segments to each other.
FIG. 6 explains the physical arrangement of an existing LAN. LAN terminal groups 101 and 102 are respectively coupled to shared physical media 111 and 112. The shared physical media 111 and 112 are coupled to each other through a bridge 121 to constitute a LAN segment 131. Similarly, LAN terminal groups 103 and 104 are respectively coupled to shared physical media 113 and 114 coupled to each other through a bridge 122, thus constituting a LAN segment 132. LAN terminal groups 105 and 106 are respectively coupled to shared physical media 115 and 116 coupled to each other through a bridge 123, thus constituting a LAN segment 133. These LAN segments 131 to 133 are coupled to each other through a router 140.
FIGS. 7A to 7D explain the logical arrangement of the existing LAN. FIG. 8 explains the header format of each protocol in the protocol stacks shown in FIGS. 7A to 7D. Operations for data transfer in the existing LAN will be described below with reference to FIGS. 7A to 7D and 8.
As shown in FIG. 7A, the MAC (Media Access Control) protocol is used to transfer data between LAN terminals coupled to each other in the same LAN segment. An MAC header contains a destination MAC address and a source MAC address. Data sent from a terminal (or an end system) or a relay system is broadcasted within the same LAN segment, and only the system which corresponds to the destination MAC address receives the data.
FIG. 7B shows a protocol stack used when data is transferred between LAN terminals coupled to different shared physical media in the same LAN segment by using a bridge. In this case as well, a relay operation is performed by using MAC addresses. A bridge which couples three or more shared physical media to each other transfers data to all the shared physical media except for the shared physical medium from which the data is received.
Assume that every time data is received, a set of a source MAC address and a number designating the shared physical medium from which the data is received is held in a cache table. In this case, by referring to the table, data can be transferred to a shared physical medium to which a system corresponding to a destination MAC address is coupled. Such a bridge is sometimes called a transparent bridge, in particular.
An SNAP (Sub-Network Access Protocol)/LLC (Local Link Control) protocol header has a 2-byte Ethernet type field for identifying the protocol of a higher layer transported by the protocol of a MAC sublayer. "0800" and "0806" are respectively assigned to a ARP (Address Resolution Protocol) and IP (Internet Protocol) (to be described later) by the IETF (Internet Engineering Task Force).
The following protocols are based on the architecture of the DARPA (Defence Advanced Research Projects Agency). IP is used to relay/transfer data by connecting networks such as LAN segments to each other. An IP header has a protocol number and is used to identify a higher protocol transported by IP.
"1", "6", and "17" are respectively assigned to ICMP (Internet Control Message Protocol), TCP (Transmission Control Protocol), and UDP (User Datagram Protocol) by the IETF. An IP header has a destination IP address and a source IP address. In general, each address is constituted by an IP subnetwork address added in units of LAN segments and a host address for identifying each system coupled within an IP subnetwork.
The destination IP address is used to relay data between different LAN segments through a router. FIG. 7C shows a protocol stack used when data is transferred between terminals coupled to different LAN segments by using the router. When data is transferred from a given LAN segment to a different LAN segment, i.e., the IP subnetwork address, the corresponding terminal or router transmits the data with the destination MAC address of the router which relays the data next being added.
In this case, as is apparent, the destination IP subnetwork address differs from the source IP subnetwork address. Upon reception of such data, the router relabels the destination MAC address corresponding to the destination IP address, and relays/transfers the resultant data. In order to obtain the destination MAC address, the following ARP is used.
The ARP is used to obtain the correspondence between the IP address and the MAC address. If the MAC address corresponding to the IP address of the system to which the data is to be transferred next is not known, the terminal or the router broadcasts the ARP data in the IP subnetwork, i.e., the LAN segment. In response to this data, the system having the IP address designated by ARP returns the ARP data including the self-MAC address.
ICMP is a protocol for exchanging monitor information and control information between terminals and network servers, and transported by using IP. If, for example, a failure occurs in routing an IP packet, the ICMP serves to notify other LAN terminals of this. ICMP is complementary to IP. Each router or LAN terminal must always incorporate ICMP together with IP.
TCP and UDP are protocols which are dependent on end systems such as LAN terminals, and used to transfer data between end systems. TCP is used for an application demanding high reliability, e.g., FTP (File Transfer Protocol), TELNET (Telecommunications Network), or SMTP (Simple Mail Transfer Protocol) (to be described later).
UDP is used for an application which does not demand much reliability, e.g., SNMP (Simple Network Management Protocol). Each of the protocol headers of TCP and UDP has a 2-byte port address for identifying an application process for communication performed by using TCP or UDP. "21", "23", "25", and "161" are respectively added to FTP, TELNET, SMTP, and SNMP by the IETF.
For example, FTP, TELNET, SMTP, and SNMP are protocols on the application layer. FTP is used to transfer a file. TELNET is used to access a remote terminal. SMTP is used to transfer an E-mail. These protocol data are transferred by using TCP and IP (to be described later). SNMP is a protocol for exchanging management information between a management terminal and an object to be managed, e.g., a network server. This protocol data is transferred by using UDP and IP (to be described later).
The use of ATM techniques has been studied to increase the processing speed of such an existing LAN and improve its performance. ATM is essentially a communication scheme in which information which a user wants to transmit is segmented into fixed-length data, headers are added to the respective data to generate fixed-length blocks called cells, and a multiplex switching operation is performed in units of cells. In this scheme, transmission bands for data transmission between systems can be flexibly allocated, and the communication quality demanded by an application can be easily achieved.
A system which uses a technique of allocating flexible resources between arbitrary points and performing a switching operation by using ATM, and incorporating an existing LAN will be called an ATM-LAN. In an ATM network, by using the ATM switching technique, traffic management and security management can be performed between terminals at physically different points, regarding them as terminals belonging to the same logical LAN segment. Such a LAN is called a virtual LAN.
FIG. 9 explains a virtual LAN constituted by an ATM-LAN. Referring to FIG. 9, each of network servers 161 to 163 is a relay system for performing conversion between ATM and existing LAN protocols, and providing a bridge function for forming a virtual LAN segment. Point-to-point ATM connections 181 to 183 are set between the network servers 161 to 163 so that LAN segments 151 to 153 can be constituted by terminals accommodated in the different network servers 161 to 163 regardless of the physical positions of the terminals.
These LAN segments 151 to 153 will be referred to as virtual LAN segments, in particular. Traffic management and security management can be performed in the virtual LAN segments 151 to 153 in the same manner as in the existing LAN segments 131 to 133 shown in FIG. 6.
The LAN terminal groups 101 and 102 belonging to the same LAN segment 131 in FIG. 6 are respectively accommodated in the different network servers 161 and 162 in FIG. 9. However, by setting the ATM connection 181 between these network servers 161 and 162, the LAN terminal groups 101 and 102 constitute a single virtual LAN segment 151.
Similarly, the LAN terminal groups 103 and 104 belonging to the LAN segment 132 in FIG. 6 are respectively accommodated in the different network servers 162 and 163 in FIG. 9. The LAN terminal groups 105 and 106 belonging to the LAN segment 133 in FIG. 6 are respectively accommodated in the different network servers 163 and 161 in FIG. 9. However, by setting the ATM connections 182 and 183 between these network servers 162 and 163, and 161 and 163, the terminal groups 103 and 104, and 105 and 106 respectively constitute single virtual LAN segments 152 and 153.
FIG. 10 explains a protocol stack as a logical arrangement for data transfer between LAN terminals within a single virtual LAN segment. In this case, each network server has a transparent bridge function, and is provided with an ATM MAC sublayer for converting existing LAN protocol data into ATM protocol data. Each network server encapsulates a MAC frame within an ATM protocol header, as needed.
FIG. 11 explains a protocol stack as a logical arrangement for data transmission between LAN terminals belonging to different virtual LAN segments. In this case, similar to an existing LAN, data transfer is performed by using a router. The router belongs to the different virtual LAN segments. In a subnetwork having a destination IP subnetwork address, therefore, the router obtains the MAC address of the destination terminal from the destination IP address, relabels the IP address with the MAC address, and transfers the data by using the ATM connection corresponding to the new MAC address.
FIG. 12 shows a conventional network server.
A transfer processing unit 1 starts a data transfer unit 5 to transfer data from a predetermined terminating unit to a predetermined terminating unit. The transfer processing unit 1 is constituted by an address check section 11 for checking a source IP subnetwork address, a source MAC address, and a terminating unit (an ATM connection which has received data if this unit is an ATM terminating unit) which has received data, and transferring them to an address cache memory (to be referred to as a cache hereinafter) 2, a bridge section 12 for determining, on the basis of the destination MAC address, the unit number of a terminating unit to which the data is to be transferred, and a connection determination section 13 for determining, on the basis of address information, an ATM connection to which the data is to be transferred in the ATM terminating unit.
The cache 2 holds a IP subnetwork address, an MAC address, and a terminating unit number (a set of data indicating a correspondence with an ATM connection in the case of an ATM terminating unit). For example, in the network server 161 (see FIG. 9), the ATM connection 183 corresponds to an IP subnetwork address corresponding to the virtual LAN segment 153, and the ATM connection 181 corresponds to an IP subnetwork address corresponding to the virtual LAN segment 151.
LAN terminating units (LAN I/F) 3 accommodate existing LAN terminals, and terminate the MAC protocol. An ATM terminating unit (ATM I/F) 4 processes the AAL (ATM Adaptation Layer) and the ATM protocol. The data transfer unit 5 transfers data from a predetermined terminating unit to another predetermined terminating unit in accordance with an instruction from the bridge section 12 of the transfer processing unit 1.
The operation of a network server, especially in a case wherein the network server has a plurality of LAN terminating units and one ATM terminating unit, will be described next. Each LAN terminating unit 3 transmits/receives data by performing the above MAC protocol processing. Data transferred from the data transfer unit 5 is transmitted by using the MAC protocol. Data received by using the MAC protocol is transmitted from the data transfer unit 5 to a predetermined terminating unit determined by the transfer processing unit 1.
The ATM terminating unit 4 encapsules existing LAN protocol data into ATM protocol data in the following manner. As shown in FIG. 8, in the AAL, the SSCS (Service Specific Convergence Sublayer) removes the FCS (Frame Check Sequence) field used for data error detection from the MAC frame to be transferred. Thereafter, the CPCS (Common Part Convergence Sublayer) attaches a trailer of ALL5 containing data indicating the length of the data from the SSCS and an FCS for data error detection for the data to the resultant MAC frame.
Finally, the SAR (Segregation And Reassembly) layer breaks up the frame into segments each consisting of 48 bytes. The ATM layer attaches a 5-byte header containing a VC (Virtual Channel) or VP (Virtual Path) through which the data is to be transferred and an ATM connection identifier to each segment to assemble a cell. Note that ATM protocol data is converted into existing LAN protocol data by a reverse process to that described above.
A network server needs to associate the unit number of a terminating unit to which data is to be transferred with a destination MAC address by using the transparent bridge function, as well as performing such protocol conversion. The ATM terminating unit 4 needs to associate an ATM connection to which the data is to be transferred with the MAC address. The transfer processing unit 1 performs these operations while looking up the cache 2, as follows.
FIG. 13 shows transfer processing of an IP packet received by the LAN terminating unit 3 or the ATM terminating unit 4. The address check section 11 registers a set of a source IP subnetwork address, a source MAC address, and a terminating unit number or VCC, contained in the received data, in the cache 2 (step S1). The bridge section 12 then looks up the cache 2 to check whether a terminating unit number can be obtained from a destination MAC address (step S2). If a terminating unit number can be obtained, the bridge section 12 notifies the data transfer unit 5 of the unit number, thereby transferring the data to the terminating unit indicated by the unit number (step S3).
If it is determined in step S2 that no terminating unit number can be obtained, the bridge section 12 looks up the cache 2 to check all the terminating unit 5 numbers corresponding to the same IP subnetwork address except for the received terminating unit number. The data transfer unit 5 then transfers the data to these terminating units. In step S3 or S4, it is checked whether the data has been transmitted to the ATM terminating unit 4 (step S5).
If it is determined in step S5 that the data has been transferred to the ATM terminating unit 4, the connection determination section 13 determines, on the basis of a set of the received IP subnetwork address and the destination MAC address, an ATM connection to which the data is to be transmitted, and notifies the ATM terminating unit 4 of it (step S6). With this operation, the data is transmitted to the desired ATM connection. If it is determined in step S5 that the data has not been transferred to the ATM terminating unit 4, the IP packet transfer processing is terminated.
In such a conventional network server, when data transfer is to be performed within a single IP subnetwork, communication data between application processes such as FTP, TELNET, SMTP, and SNMP data are transferred altogether within a single virtual LAN. For this reason, the quality of service (QOS) associated with delays and discarding of data transfer cannot be finely controlled for each application.
As indicated by the protocol stack in FIG. 11 as well, when data is to be transferred between a pair of LAN terminals having different subnetwork addresses, in particular, the data is exchanged through a router. For this reason, it takes time for the router to assemble IP data from ATM cells, perform protocol processing of the IP data, and segment the IP data into ATM cells, resulting in a decrease in throughput in data transfer.